package imper.engine.entity;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import imper.engine.util.ResourceManager;

public class Country
{
  protected int _id;
  protected String _name;
  protected ResourceManager _ResourceTransCalc;
  protected ResourceManager _ResourceTransReal;
  protected ResourceManager _ResourceStock;
  protected ResourceManager _ResourceProd;
  protected Map<Integer, Industry> _industry;
  protected Map<Integer, Integer> _ProdBoat;
  protected Map<Integer, Integer> _ProdCivil;
  protected Map<Integer, Integer> _ProdArmy;
  protected List<CivilUnit> _CivilUnit;
  protected Land _Capital;
  protected Map<Integer, CountryLink> _countriesLink = null;

  public Country()
  {
    _ProdBoat = new HashMap<Integer, Integer>();
    _ProdCivil = new HashMap<Integer, Integer>();
    _ProdArmy = new HashMap<Integer, Integer>();
    _countriesLink = new HashMap<Integer, CountryLink>();
  }

  public int getId()
  {
    return _id;
  }

  public void setId(int pId)
  {
    this._id = pId;
  }

  public String getName()
  {
    return _name;
  }

  public void setName(String pName)
  {
    this._name = pName;
  }

  public Land getCapital()
  {
    return _Capital;
  }

  public void setCapital(Land pCapital)
  {
    this._Capital = pCapital;
  }

  public ResourceManager getResourceTransportReal()
  {
    return _ResourceTransReal;
  }

  public void setResourceTransportReal(ResourceManager _ResourceTransport)
  {
    this._ResourceTransReal = _ResourceTransport;
  }

  public ResourceManager getResourceTransportCalc()
  {
    return _ResourceTransCalc;
  }

  public void setResourceTransportCalc(ResourceManager _ResourceTransport)
  {
    this._ResourceTransCalc = _ResourceTransport;
  }

  public ResourceManager getResourceStock()
  {
    return _ResourceStock;
  }

  public void setResourceStock(ResourceManager _ResourceStock)
  {
    this._ResourceStock = _ResourceStock;
  }

  public ResourceManager getResourceProd()
  {
    return _ResourceProd;
  }

  public void setResourceProd(ResourceManager _ResourceProd)
  {
    this._ResourceProd = _ResourceProd;
  }

  public Map<Integer, Industry> getIndustry()
  {
    return _industry;
  }

  public void setIndustry(Map<Integer, Industry> pIndustry)
  {
    this._industry = pIndustry;
  }

  public Map<Integer, Integer> getProdBoat()
  {
    return _ProdBoat;
  }

  public void setProdBoat(Map<Integer, Integer> pProdBoat)
  {
    this._ProdBoat = pProdBoat;
  }

  public Map<Integer, Integer> getProdCivil()
  {
    return _ProdCivil;
  }

  public void setProdCivil(Map<Integer, Integer> pProdCivil)
  {
    this._ProdCivil = pProdCivil;
  }

  public Map<Integer, Integer> getProdArmy()
  {
    return _ProdArmy;
  }

  public void setProdArmy(Map<Integer, Integer> pProdArmy)
  {
    this._ProdArmy = pProdArmy;
  }

  public List<CivilUnit> getCivilUnit()
  {
    return _CivilUnit;
  }

  public void setCivilUnit(List<CivilUnit> pCivilUnit)
  {
    this._CivilUnit = pCivilUnit;
  }

  public void addCountryLink(CountryLink pCountryLink)
  {
    if (getId() == pCountryLink.getIdCountry1())
    {
      _countriesLink.put(pCountryLink.getIdCountry2(), pCountryLink);
    }
    else
    {
      _countriesLink.put(pCountryLink.getIdCountry1(), pCountryLink);
    }
  }
}
